/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function (i) {
    var q = { vertical: false, rtl: false, start: 1, offset: 1, size: null, scroll: 3, visible: null,
        animation: "normal", easing: "swing", auto: 0, wrap: null, initCallback: null, reloadCallback: null, itemLoadCallback: null,
        itemFirstInCallback: null, itemFirstOutCallback: null, itemLastInCallback: null, itemLastOutCallback: null, itemVisibleInCallback: null,
        itemVisibleOutCallback: null, buttonNextHTML: "<div></div>", buttonPrevHTML: "<div></div>", buttonNextEvent: "click",
        buttonPrevEvent: "click", buttonNextCallback: null, buttonPrevCallback: null, itemFallbackDimension: null
    },
r = false; i(window).bind("load.jcarousel", function () { r = true }); i.jcarousel = function (a, c) {
    this.options = i.extend({}, q, c || {});
    this.autoStopped = this.locked = false; this.buttonPrevState = this.buttonNextState = this.buttonPrev = this.buttonNext = this.list = this.clip = this.container = null;
    if (!c || c.rtl === undefined) this.options.rtl = (i(a).attr("dir") || i("html").attr("dir") || "").toLowerCase() == "rtl";
    this.wh = !this.options.vertical ? "width" : "height"; this.lt = !this.options.vertical ? this.options.rtl ? "right" : "left" : "top";
    for (var b = "", d = a.className.split(" "), f = 0; f < d.length; f++)
        if (d[f].indexOf("jcarousel-skin") != -1) { i(a).removeClass(d[f]); b = d[f]; break }
    if (a.nodeName.toUpperCase() == "UL" || a.nodeName.toUpperCase() == "OL") {
        this.list = i(a); this.container = this.list.parent(); if (this.container.hasClass("jcarousel-clip")) {
            if (!this.container.parent().hasClass("jcarousel-container")) this.container = this.container.wrap("<div></div>");
            this.container = this.container.parent()
        } else if (!this.container.hasClass("jcarousel-container")) this.container = this.list.wrap("<div></div>").parent()
    }
    else {
        this.container = i(a);
        this.list = this.container.find("ul,ol").eq(0)
    } b !== "" && this.container.parent()[0].className.indexOf("jcarousel-skin") == -1 && this.container.wrap('<div class=" ' + b + '"></div>');
    this.clip = this.list.parent(); if (!this.clip.length || !this.clip.hasClass("jcarousel-clip")) this.clip = this.list.wrap("<div></div>").parent();
    this.buttonNext = i(".jcarousel-next", this.container); if (this.buttonNext.size() === 0 && this.options.buttonNextHTML !== null)
        this.buttonNext = this.clip.after(this.options.buttonNextHTML).next();
    this.buttonNext.addClass(this.className("jcarousel-next"));
    this.buttonPrev = i(".jcarousel-prev", this.container);
    if (this.buttonPrev.size() === 0 && this.options.buttonPrevHTML !== null) this.buttonPrev = this.clip.after(this.options.buttonPrevHTML).next();
    this.buttonPrev.addClass(this.className("jcarousel-prev"));
    this.clip.addClass(this.className("jcarousel-clip")).css({ overflow: "hidden", position: "relative" });
    this.list.addClass(this.className("jcarousel-list")).css({ overflow: "hidden", position: "relative", top: 0, margin: 0, padding: 0 }).css(this.options.rtl ? "right" : "left", 0);
    this.container.addClass(this.className("jcarousel-container")).css({ position: "relative" });
    !this.options.vertical && this.options.rtl && this.container.addClass("jcarousel-direction-rtl").attr("dir", "rtl");
    var j = this.options.visible !== null ? Math.ceil(this.clipping() / this.options.visible) : null; b = this.list.children("li");
    var e = this; if (b.size() > 0) {
        var g = 0, k = this.options.offset; b.each(function () { e.format(this, k++); g += e.dimension(this, j) });
        this.list.css(this.wh, g + 100 + "px"); if (!c || c.size === undefined) this.options.size = b.size()
    } this.container.css("display", "block");
    this.buttonNext.css("display", "block"); this.buttonPrev.css("display", "block");
    this.funcNext = function () { e.next() }; this.funcPrev = function () { e.prev() }; this.funcResize = function () { e.reload() };
    this.options.initCallback !== null && this.options.initCallback(this, "init"); this.setup()
};
var h = i.jcarousel; h.fn = h.prototype = { jcarousel: "0.2.7" };
h.fn.extend = h.extend = i.extend;
h.fn.extend({ setup: function () {
    this.prevLast = this.prevFirst = this.last = this.first = null; this.animating = false; this.tail = this.timer = null; this.inTail = false;
    if (!this.locked) {
        this.list.css(this.lt, this.pos(this.options.offset) + "px"); var a = this.pos(this.options.start, true);
        this.prevFirst = this.prevLast = null; this.animate(a, true);
        i(window).unbind("resize.jcarousel", this.funcResize).bind("resize.jcarousel", this.funcResize)
    } 
}, reset: function () {
    this.list.empty();
    this.list.css(this.lt, "0px"); this.list.css(this.wh, "10px");
    this.options.initCallback !== null && this.options.initCallback(this, "reset");
    this.setup()
}, reload: function () {
    this.tail !== null && this.inTail && this.list.css(this.lt, h.intval(this.list.css(this.lt)) + this.tail);
    this.tail = null; this.inTail = false; this.options.reloadCallback !== null && this.options.reloadCallback(this);
    if (this.options.visible !== null) {
        var a = this, c = Math.ceil(this.clipping() / this.options.visible), b = 0, d = 0;
        this.list.children("li").each(function (f) { b += a.dimension(this, c); if (f + 1 < a.first) d = b }); this.list.css(this.wh, b + "px");
        this.list.css(this.lt, -d + "px")
    } this.scroll(this.first, false)
}, lock: function () { this.locked = true; this.buttons() },
unlock: function () {
    this.locked = false;
    this.buttons()
},
size: function (a) { if (a !== undefined) { this.options.size = a; this.locked || this.buttons() } return this.options.size },
has: function (a, c) {
    if (c === undefined || !c) c = a;
    if (this.options.size !== null && c > this.options.size) c = this.options.size;
    for (var b = a; b <= c; b++) { var d = this.get(b); if (!d.length || d.hasClass("jcarousel-item-placeholder")) return false } return true
},
get: function (a) { return i(".jcarousel-item-" + a, this.list) },
add: function (a, c) {
    var b = this.get(a), d = 0, f = i(c); if (b.length === 0) {
        var j, e = h.intval(a);
        for (b = this.create(a); ; ) { j = this.get(--e); if (e <= 0 || j.length) { e <= 0 ? this.list.prepend(b) : j.after(b); break } } 
    }
    else d = this.dimension(b); if (f.get(0).nodeName.toUpperCase() == "LI") { b.replaceWith(f); b = f } else b.empty().append(c);
    this.format(b.removeClass(this.className("jcarousel-item-placeholder")), a);
    f = this.options.visible !== null ? Math.ceil(this.clipping() / this.options.visible) : null;
    d = this.dimension(b, f) - d; a > 0 && a < this.first && this.list.css(this.lt, h.intval(this.list.css(this.lt)) - d + "px");
    this.list.css(this.wh, h.intval(this.list.css(this.wh)) + d + "px"); return b
}, remove: function (a) {
    var c = this.get(a);
    if (!(!c.length || a >= this.first && a <= this.last)) {
        var b = this.dimension(c);
        a < this.first && this.list.css(this.lt, h.intval(this.list.css(this.lt)) + b + "px");
        c.remove(); this.list.css(this.wh, h.intval(this.list.css(this.wh)) - b + "px")
    } 
},
next: function () {
    this.tail !== null && !this.inTail ?
 this.scrollTail(false) : this.scroll((this.options.wrap == "both" || this.options.wrap == "last") && this.options.size !== null && this.last == this.options.size ? 1 : this.first + this.options.scroll)
},
prev: function () { this.tail !== null && this.inTail ? this.scrollTail(true) : this.scroll((this.options.wrap == "both" || this.options.wrap == "first") && this.options.size !== null && this.first == 1 ? this.options.size : this.first - this.options.scroll) },
scrollTail: function (a) {
    if (!(this.locked || this.animating || !this.tail)) {
        this.pauseAuto(); var c = h.intval(this.list.css(this.lt));
        c = !a ? c - this.tail : c + this.tail; this.inTail = !a;
        this.prevFirst = this.first;
        this.prevLast = this.last;
        this.animate(c)
    } 
}, scroll: function (a, c) { if (!(this.locked || this.animating)) { this.pauseAuto(); this.animate(this.pos(a), c) } },
pos: function (a, c) {
    var b = h.intval(this.list.css(this.lt)); if (this.locked || this.animating) return b;
    if (this.options.wrap != "circular") a = a < 1 ? 1 : this.options.size && a > this.options.size ? this.options.size : a;
    for (var d = this.first > a, f = this.options.wrap != "circular" && this.first <= 1 ? 1 : this.first, j = d ? this.get(f) : this.get(this.last),
 e = d ? f : f - 1, g = null, k = 0, l = false, m = 0; d ? --e >= a : ++e < a; ) {
        g = this.get(e); l = !g.length;
        if (g.length === 0) {
            g = this.create(e).addClass(this.className("jcarousel-item-placeholder")); j[d ? "before" : "after"](g);
            if (this.first !== null && this.options.wrap == "circular" && this.options.size !== null && (e <= 0 || e > this.options.size))
            { j = this.get(this.index(e)); if (j.length) g = this.add(e, j.clone(true)) } 
        } j = g;
        m = this.dimension(g);
        if (l) k += m; if (this.first !== null && (this.options.wrap == "circular" || e >= 1 && (this.options.size === null || e <= this.options.size))) b = d ? b + m : b - m
    } f = this.clipping();
    var p = [], o = 0, n = 0; j = this.get(a - 1);
    for (e = a; ++o; ) {
        g = this.get(e); l = !g.length; if (g.length === 0) {
            g = this.create(e).addClass(this.className("jcarousel-item-placeholder"));
            j.length === 0 ? this.list.prepend(g) : j[d ? "before" : "after"](g);
            if (this.first !== null && this.options.wrap == "circular" && this.options.size !== null && (e <= 0 || e > this.options.size))
            { j = this.get(this.index(e)); if (j.length) g = this.add(e, j.clone(true)) } 
        } j = g;
        m = this.dimension(g); if (m === 0) throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...");
        if (this.options.wrap != "circular" && this.options.size !== null && e > this.options.size) p.push(g);
        else if (l) k += m; n += m; if (n >= f) break; e++
    } for (g = 0; g < p.length; g++) p[g].remove();
    if (k > 0) {
        this.list.css(this.wh, this.dimension(this.list) + k + "px");
        if (d) { b -= k; this.list.css(this.lt, h.intval(this.list.css(this.lt)) - k + "px") } 
    } k = a + o - 1;
    if (this.options.wrap != "circular" && this.options.size && k > this.options.size) k = this.options.size; if (e > k) {
        o = 0; e = k; for (n = 0; ++o; )
        { g = this.get(e--); if (!g.length) break; n += this.dimension(g); if (n >= f) break } 
    } e = k - o + 1;
    if (this.options.wrap != "circular" && e < 1) e = 1;
    if (this.inTail && d) { b += this.tail; this.inTail = false } this.tail = null;
    if (this.options.wrap != "circular" && k == this.options.size && k - o + 1 >= 1) {
        d = h.margin(this.get(k), !this.options.vertical ? "marginRight" : "marginBottom");
        if (n - d > f) this.tail = n - f - d
    }
    if (c && a === this.options.size && this.tail)
    { b -= this.tail; this.inTail = true }
    for (; a-- > e; ) b += this.dimension(this.get(a));
    this.prevFirst = this.first; this.prevLast = this.last; this.first = e; this.last = k; return b},
animate: function (a, c) {
    if (!(this.locked || this.animating)) {
        this.animating = true; var b = this,
 d = function () {
     b.animating = false; a === 0 && b.list.css(b.lt, 0); if (!b.autoStopped && (b.options.wrap == "circular" || b.options.wrap == "both" || b.options.wrap == "last" || b.options.size === null || b.last < b.options.size || b.last == b.options.size && b.tail !== null && !b.inTail)) b.startAuto(); b.buttons(); b.notify("onAfterAnimation");
     if (b.options.wrap == "circular" && b.options.size !== null)
         for (var f = b.prevFirst; f <= b.prevLast; f++)
             if (f !== null && !(f >= b.first && f <= b.last) && (f < 1 || f > b.options.size)) b.remove(f)
 };
 this.notify("onBeforeAnimation");
 if (!this.options.animation || c === false) { this.list.css(this.lt, a + "px"); d() }
 else this.list.animate(!this.options.vertical ? this.options.rtl ? { right: a} : { left: a} : { top: a },
  this.options.animation, this.options.easing, d)
} 
},
startAuto: function (a) {
    if (a !== undefined) this.options.auto = a;
    if (this.options.auto === 0) return this.stopAuto();
    if (this.timer === null) {
        this.autoStopped = false; var c = this;
        this.timer = window.setTimeout(function () { c.next() }, this.options.auto * 1E3)
    } 
},
stopAuto: function () { this.pauseAuto(); this.autoStopped = true },
pauseAuto: function () { if (this.timer !== null) { window.clearTimeout(this.timer); this.timer = null } },
buttons: function (a, c) {
    if (a == null) {
        a = !this.locked && this.options.size !== 0 && (this.options.wrap && this.options.wrap != "first" || this.options.size === null || this.last < this.options.size);
        if (!this.locked && (!this.options.wrap || this.options.wrap == "first") && this.options.size !== null && this.last >= this.options.size) a = this.tail !== null && !this.inTail
    }
    if (c == null) {
        c = !this.locked && this.options.size !== 0 && (this.options.wrap && this.options.wrap != "last" || this.first > 1);
        if (!this.locked && (!this.options.wrap || this.options.wrap == "last") && this.options.size !== null && this.first == 1) c = this.tail !== null && this.inTail
    } var b = this;
    if (this.buttonNext.size() > 0) {
        this.buttonNext.unbind(this.options.buttonNextEvent + ".jcarousel", this.funcNext); a && this.buttonNext.bind(this.options.buttonNextEvent + ".jcarousel", this.funcNext); this.buttonNext[a ? "removeClass" : "addClass"](this.className("jcarousel-next-disabled")).attr("disabled", a ? false : true);
        this.options.buttonNextCallback !== null && this.buttonNext.data("jcarouselstate") != a && this.buttonNext.each(function () { b.options.buttonNextCallback(b, this, a) }).data("jcarouselstate", a)
    }
    else this.options.buttonNextCallback !== null && this.buttonNextState != a && this.options.buttonNextCallback(b, null, a);
    if (this.buttonPrev.size() > 0) {
        this.buttonPrev.unbind(this.options.buttonPrevEvent + ".jcarousel", this.funcPrev);
        c && this.buttonPrev.bind(this.options.buttonPrevEvent + ".jcarousel", this.funcPrev);
        this.buttonPrev[c ? "removeClass" : "addClass"](this.className("jcarousel-prev-disabled")).attr("disabled", c ? false : true);
        this.options.buttonPrevCallback !== null && this.buttonPrev.data("jcarouselstate") != c && this.buttonPrev.each(function () { b.options.buttonPrevCallback(b, this, c) }).data("jcarouselstate", c)
    }
    else this.options.buttonPrevCallback !== null && this.buttonPrevState != c && this.options.buttonPrevCallback(b, null, c);
    this.buttonNextState = a; this.buttonPrevState = c
}, notify: function (a) {
    var c = this.prevFirst === null ? "init" : this.prevFirst < this.first ? "next" : "prev";
    this.callback("itemLoadCallback", a, c); if (this.prevFirst !== this.first) {
        this.callback("itemFirstInCallback", a, c, this.first);
        this.callback("itemFirstOutCallback", a, c, this.prevFirst)
    }
    if (this.prevLast !== this.last) {
        this.callback("itemLastInCallback", a, c, this.last);
        this.callback("itemLastOutCallback", a, c, this.prevLast)
    }
    this.callback("itemVisibleInCallback", a, c, this.first, this.last, this.prevFirst, this.prevLast);
    this.callback("itemVisibleOutCallback", a, c, this.prevFirst, this.prevLast, this.first, this.last)
},
callback: function (a, c, b, d, f, j, e) {
    if (!(this.options[a] == null || typeof this.options[a] != "object" && c != "onAfterAnimation")) {
        var g = typeof this.options[a] == "object" ? this.options[a][c] : this.options[a];
        if (i.isFunction(g)) {
            var k = this; if (d === undefined) g(k, b, c); else if (f === undefined) this.get(d).each(function () { g(k, this, d, b, c) });
            else {
                a = function (m) { k.get(m).each(function () { g(k, this, m, b, c) }) };
                for (var l = d; l <= f; l++) l !== null && !(l >= j && l <= e) && a(l)
            } 
        } 
    } 
},
create: function (a) { return this.format("<li></li>", a) }, format: function (a, c) {
    a = i(a);
    for (var b = a.get(0).className.split(" "), d = 0; d < b.length; d++) b[d].indexOf("jcarousel-") != -1 && a.removeClass(b[d]);
    a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-" + c)).css({ "float": this.options.rtl ? "right" : "left", "list-style": "none" }).attr("jcarouselindex", c);
    return a
},
className: function (a) {
    return a + " " + a + (!this.options.vertical ? "-horizontal" : "-vertical") 
},
dimension: function (a, c) {
    var b = a.jquery !== undefined ? a[0] : a, d = !this.options.vertical ? (b.offsetWidth || h.intval(this.options.itemFallbackDimension)) + h.margin(b, "marginLeft") + h.margin(b, "marginRight") : (b.offsetHeight || h.intval(this.options.itemFallbackDimension)) + h.margin(b, "marginTop") + h.margin(b, "marginBottom");
    if (c == null || d == c) return d;
    d = !this.options.vertical ? c - h.margin(b, "marginLeft") - h.margin(b, "marginRight") : c - h.margin(b, "marginTop") - h.margin(b, "marginBottom");
    i(b).css(this.wh, d + "px"); return this.dimension(b)
},
clipping: function () {
    return !this.options.vertical ? this.clip[0].offsetWidth - h.intval(this.clip.css("borderLeftWidth")) - h.intval(this.clip.css("borderRightWidth")) : this.clip[0].offsetHeight - h.intval(this.clip.css("borderTopWidth")) - h.intval(this.clip.css("borderBottomWidth"))
},
index: function (a, c) {
    if (c == null) c = this.options.size;
    return Math.round(((a - 1) / c - Math.floor((a - 1) / c)) * c) + 1
} 
});
h.extend({ defaults: function (a) { return i.extend(q, a || {}) }, margin: function (a, c) {
    if (!a) return 0; var b = a.jquery !== undefined ? a[0] : a;
    if (c == "marginRight" && i.browser.safari) {
        var d = { display: "block", "float": "none", width: "auto" }, f, j;
        i.swap(b, d, function () { f = b.offsetWidth }); d.marginRight = 0; i.swap(b, d, function () { j = b.offsetWidth });
        return j - f
    }
    return h.intval(i.css(b, c))
},
intval: function (a) { a = parseInt(a, 10); return isNaN(a) ? 0 : a } 
});
i.fn.jcarousel = function (a) {
    if (typeof a == "string") {
        var c = i(this).data("jcarousel"), b = Array.prototype.slice.call(arguments, 1);
        return c[a].apply(c, b)
    }
  else return this.each(function(){i(this).data("jcarousel", new h(this,a))})}})(jQuery);




jQuery.easing['QuadEaseInOut'] = function(p, t, b, c, d) {
	
	if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
};


nodoin.mod.carousel = {
    removeTooltip: function () {
        if (jQuery("#tooltip-toggle-list").size() > 0) {
            //console.log(jQuery("#tooltip-toggle-list"))
            clearInterval(nodoin.mod.togglelist.tips[nodoin.mod.togglelist.cid]);
            jQuery("#tooltip-toggle-list").remove();
        }
    },

    
	
	init: function () {
        
		nodoin.log('nodoin.carousel.init');
        $(".carousel-mux").removeClass("carousel-mux");
        $(".jcarousel-list li").attr("id", "");
        $(".jcarousel-control a").attr("href", "#");
        var slideStart = 1;
		var currentIdx = 1;//For keeping slide number(When we want circular carousel)
        //console.log($.type(slideStart));
		
		
		
		
        $(".carousel").each(function () {
            //nodoin.log($(this).find('.c-time'))
            var time = (!isNaN($(this).find('.c-time').html())) ? $(this).find('.c-time').html() : 4;
            //nodoin.log(time)
            //console.log($(this).parent().parent());
            if (jQuery(this).parent().parent().hasClass('wide')) {
                var url = window.location.href.slice(window.location.href);
                slideStart = url.split('=');
                slideStart = parseInt(slideStart[1]);
                var totalSlides =  jQuery(this).find('.jcarousel-item').size();
                if (slideStart <= totalSlides) {
                    slideStart = slideStart;
                } else {
                    slideStart = 1;
                }
            } else { slideStart = 1 }
			
			// fix for single hero rotation
			if (jQuery(this).find('.jcarousel-item').size() == 1) return;
			
            $(this).jcarousel({
                auto: time,
                scroll: 1,
                size: totalSlides,
                start: slideStart,
                easing: 'QuadEaseInOut',
                initCallback: function (carousel) {
                    carousel.stopAuto();
                   
                    /* Auto Rotate functionality */
                    if (jQuery(carousel.container).hasClass('autorotateme')) {
                        carousel.startAuto();
                        carousel.clip.mouseover(function () {
                            carousel.stopAuto();
                        }).mouseout(function () {
                            if (jQuery('#facebox').length > 0) {
                                if (jQuery('#facebox').is(':hidden')) {
                                    carousel.startAuto();
                                } else {
                                    carousel.stopAuto();
                                }
                            } else {
                                carousel.startAuto();
                            }
                        });
                    }
                    /*
                    * #mod-carousel-next due mantain compatibility with old modules that should change to a class
                    * TODO: change old modules
                    */
                    jQuery(carousel.container).find('#mod-carousel-next, .mod-carousel-next').bind('click', function () {
                        nodoin.mod.carousel.removeTooltip();
                        carousel.next();
						currentIdx = carousel.prevFirst + 1;//Index increases when we move forward
                        if (jQuery(this).parent().find('.jcarousel-control .item-selected').size() > 0) {
                            jQuery(this).parent().find('.jcarousel-control .item-selected').removeClass('item-selected');
                        }
                        jQuery(this).parent().find('.jcarousel-control a').eq(carousel.first - 1).addClass('item-selected');
                        return false;
                    });

                    jQuery(carousel.container).find('#mod-carousel-prev, .mod-carousel-prev').bind('click', function () {
                        nodoin.mod.carousel.removeTooltip();
                        carousel.prev();
						currentIdx = carousel.prevFirst - 1;//Index increases when we move backward
                        if (jQuery(this).parent().find('.jcarousel-control .item-selected').size() > 0) {
                            jQuery(this).parent().find('.jcarousel-control .item-selected').removeClass('aed');
                        }
                        jQuery(this).parent().find('.jcarousel-control a').eq(carousel.first - 1).addClass('item-selected');
                        return false;
                    });
                   
                    jQuery(carousel.container).find('.jcarousel-control a').eq(0).click();
                    /* numeric controls */
                    jQuery(carousel.container).find('.jcarousel-control a').bind('click', function () {
                        nodoin.mod.carousel.removeTooltip();
                        if (jQuery(this).parent().parent().find('.item-selected').size() > 0) {
                            jQuery(this).parent().parent().find('.item-selected').removeClass('item-selected');
                        }
                        jQuery(this).addClass('item-selected');
						//Caluculating slide index to which we need to scroll for circular carousel. avoids rewinding and excessive scrolling.
					    var thisVCalue = jQuery(this).text();

						var reminder = currentIdx % carousel.size();
						
						 if(currentIdx < 0)
						{
							reminder = carousel.size()+reminder;
						}
						else
						{
						if (reminder == 0) reminder = carousel.size();
						}
                        currentIdx = parseFloat(currentIdx) - reminder + parseFloat(thisVCalue);
                        carousel.scroll(jQuery.jcarousel.intval(currentIdx));
						
                        //carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
						//carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
						//carousel.scroll(jQuery.jcarousel.intval((currentIdx-(currentIdx%3))+thisVCalue));
						//carousel.scroll(jQuery.jcarousel.intval(((carousel.prevFirst+1)% jQuery(carousel.container).find('.jcarousel-control a').length)-1));
                        return false;
                    });
                   
                },
                itemLastInCallback: function (carousel, item, idx, state) {

                    if (jQuery(carousel.container).find('.jcarousel-control a.item-selected').size() > 0) {
                        jQuery(carousel.container).find('.jcarousel-control a.item-selected').removeClass('item-selected');
                    }
					var reminder = idx % carousel.size();

                        if (reminder == 0) reminder = carousel.size();

                    jQuery(carousel.container).find('.jcarousel-control a').eq(reminder-1).addClass('item-selected');
                },
                wrap: 'circular',
                // This tells jCarousel NOT to autobuild prev/next buttons
                buttonNextHTML: null,
                buttonPrevHTML: null
            });
        });
    }
};
